机器学习从零开始系列连载(1)——基本概念
作者:张 磊
编辑:赵一帆
本周内容:
1. 一些基本概念
1.1 生成式模型与判别式模型
1.2 参数学习与非参学习
1.2.1 参数学习
1.2.2 非参学习
1.3 监督学习、非监督学习与强化学习
1.3.1 监督学习
1.3.2 非监督学习
1.3.3 强化学习
2. 建模方法回顾
2.0 偏差与方差
2.1 线性回归-Linear Regression
2.1.1 模型原理
2.1.2 损失函数
2.2 支持向量机-Support Vector Machine
2.2.1 模型原理
2.2.2 损失函数
2.2.3 核方法
2.3 逻辑回归-Logistic Regression
2.3.1 模型原理
2.3.2 损失函数
2.4 Bagging and Boosting框架
2.4.1 Bagging框架
2.4.2 Boosting框架
2.5 Additive Tree 模型
2.5.1 Random Forests
2.5.2 AdaBoost with trees
2.5.3 Gradient Boosting Decision Tree
2.5.4 简单的例子
2.6 人工神经网络-Neural Network
2.6.1 神经元
2.6.2 神经网络的常用结构
2.6.3 一个简单的神经网络例子
01
生成式模型与判别式模型
从概率分布的角度看待模型。给个例子感觉一下: 如果我想知道一个人A说的是哪个国家的语言,我应该怎么办呢?
生成式模型
我把每个国家的语言都学一遍,这样我就能很容易知道A说的是哪国语言,并且C、D说的是哪国的我也可以知道,进一步我还能自己讲不同国家语言。
判别式模型
我只需要学习语言之间的差别是什么,学到了这个界限自然就能区分不同语言,我能说出不同语言的区别,但我哦可能不会讲。
如果我有输入数据x,并且想通过标注y去区分不同数据属于哪一类,生成式模型是在学习样本和标注的联合概率分布p(x, y)而判别式模型是在学习条件概率p(x|y)。
生成式模型p(x, y)可以通过贝叶斯公式转化为p(x|y)=p(x, y)/p(x),并用于分类,而联合概率p(x, y)分布也可用于其他目的,比如用来生成样本对(x, y)。
判别式模型的主要任务是找到一个或一系列超平面,利用它(们)划分给定样本x到给定分类y,这也能直白的体现出“判别”模型这个名称。
最后给一个很简单的例子说明一下:
假如我有以下独立同分布的若干样本(x, y),其中x为特征,y∈{0, 1}为标注,(x, y)∈{(2, -1), (2, -1), (3, -1), (3, 1), (3, 1)}
常见生成式模型
Naive Bayes
Gaussians
Mixtures of Gaussians
Mixtures of Experts
Mixtures of Multinomials
HMM
Markov random fields
Sigmoidal belief networks
Bayesian networks
常见判别式模型
Linear regression
Logistic regression
SVM
Perceptron
Traditional Neural networks
Nearest neighbor
Conditional random fields
02
参数学习与非参学习
参数学习
参数学习的特点是:
1、选择某种形式的函数并通过机器学习用一系列固定个数的参数尽可能表征这些数据的某种模式;
2、不管数据量有多大,函数参数的个数是固定的,即参数个数不随着样本量的增大而增加,从关系上说它们相互独立;
3、往往对数据有较强的假设,如分布的假设,空间的假设等。
4、常用参数学习的模型有:
Logistic Regression
Linear Regression
Polynomial regression
Linear Discriminant Analysis
Perceptron
Naive Bayes
Simple Neural Networks
使用线性核的SVM
Mixture models
K-means
Hidden Markov models
Factor analysis / pPCA / PMF
非参学习
注意不要被名字误导,非参不等于无参。
1、数据决定了函数形式,函数参数个数不固定;
2、随着数据量的增加,参数个数一般也会随之增长;
3、对数据本身做较少的先验假设。
4、一些常用的非参学习模型:
k-Nearest Neighbors
Decision Trees like CART and C4.5
使用非线性核的SVM
Gradient Boosted Decision Trees
Gaussian processes for regression
Dirichlet process mixtures
infinite HMMs
infinite latent factor models
03
监督学习、非监督学习与强化学习
监督学习
对于每一个样本都会提供一个明确的学习目标(标注),有自变量也有因变量,学习机接收样本进行学习并通过对该样本预测后的结果和事先给定的目标比较后修正学习过程,这里的每一个样本都是标注好的,所以好处是歧义较低,坏处是万一有一定量样本标错了或者没标会对最终应用效果影响较大。通常监督学习过程如下:
非监督学习
对于每个样本不提供明确的学习目标(标注),有自变量但无因变量,学习机接收样本后会按事先指定的必要参数,依据某种相似度衡量方式自动学习样本内部的分布模式,好处是没有过多先验假设,能够体现数据内在模式并应用,坏处是有“盲目”性,并会混在噪声数据。比如:常用LDA做主题聚类,但如果使用场景不是降维而是想得到可输出的主题词,基本上没有人肉的干预无法直接使用(虽然整体上看感觉可能不错)。
强化学习
我认为强化学习是最接近人类学习过程的,很多情况下我们无法直接表达什么是正确的什么是错误的(比如:我正在爬山,迈了一大步,又迈了一小步,那么没法儿说我迈了大步正确还是错误),但是可以通过惩罚不好的结果或者奖励好的结果来强化学习的效果(我迈了个大步,导致没有站稳,那么对迈大步做惩罚,然后接下来我会迈小一点)。
所以强化学习是一个序列的决策过程,学习机的学习目标是通过在给定状态下选择某种动作,寻找合适动作的策略序列使得它可以获得某种最优结果的过程。
强化学习的几个要素,体现其序列、交互性:
环境(environment):
强化学习所处的上下文;
学习器(agent):
与环境的交互并学习的对象,
具有主动性;
动作(action):
处于环境下的可行动作集合;
反馈(feedback):
对动作的回报或惩罚;
策略(policy):
学习到的策略链。
经典的训练狗的实验就是一种强化学习的过程:
扫描二维码,
关注作者微博(左),
添加作者微信(右)。
扫描个人微信号,
拉你进机器学习大牛群。
福利满满,名额已不多…
80%的AI从业者已关注我们微信公众号